package regexp;

/**
 * @author DCSGO
 * @version 1.0
 * String 与 正则表达式
 * replaceAll matches split
 */
public class StringReg {
    public static void main(String[] args) {
        /*
         * public String replaceAll(String regex, String replacement) {
         *         return Pattern.compile(regex).matcher(this).replaceAll(replacement);
         *     }
         */

        //将下面文字JDK1.3 JDK1.4统一替换成JDK
        String content = "2000年5月，JDK1.3、JDK1.4和J2SE1.3相继发布，几周后其获得了Apple公司Mac OS X的工业标准的支持。";
        System.out.println(content.replaceAll("JDK1\\.3|JDK1\\.4", "JDK"));
        //2000年5月，JDK、JDK和J2SE1.3相继发布，几周后其获得了Apple公司Mac OS X的工业标准的支持。
        System.out.println(content.replaceAll("JDK1\\.[34]", "JDK"));
        //2000年5月，JDK、JDK和J2SE1.3相继发布，几周后其获得了Apple公司Mac OS X的工业标准的支持。

        /*
         * public boolean matches(String regex) {
         *         return Pattern.matches(regex, this);
         *     }
         */
        //要求验证一个手机号，要求必须是以138 139开头的
        System.out.println("13872528632".matches("13[89]\\d{8}"));//true
        System.out.println("1381234567".matches("13[89]\\d{8}"));//false
        System.out.println("13912345678".matches("13[89]\\d{8}"));//true

        /*
         * public String[] split(String regex) {
         *         return split(regex, 0);
         *     }
         *
         * public String[] split(String regex, int limit) {
         *         ......
         *         return Pattern.compile(regex).split(this, limit);
         *     }
         */
        String str = "hello#abc-jack12smith~北京";
        //要求按照#或者-或者~或者数字来分割
        String[] strings = str.split("\\d+|[#~-]");
        for (String s : strings) {
            System.out.print(s + " ");
        }//hello abc jack smith 北京
        System.out.println();
    }
}
